Update GORM guides
This commit is contained in:
		
							parent
							
								
									30ff208d6e
								
							
						
					
					
						commit
						c6379bc24b
					
				@ -70,7 +70,7 @@
 | 
				
			|||||||
    data-chapter-title="Advanced Usage"
 | 
					    data-chapter-title="Advanced Usage"
 | 
				
			||||||
    data-filepath="advanced.md"
 | 
					    data-filepath="advanced.md"
 | 
				
			||||||
    data-basepath="."
 | 
					    data-basepath="."
 | 
				
			||||||
    data-revision="Wed May 04 2016 21:23:42 GMT+0800 (CST)"
 | 
					    data-revision="Tue Aug 16 2016 16:37:38 GMT+0800 (CST)"
 | 
				
			||||||
    data-innerlanguage="">
 | 
					    data-innerlanguage="">
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -761,7 +761,7 @@ db.DB().Ping()
 | 
				
			|||||||
db.DB().SetMaxOpenConns(<span class="hljs-number">100</span>)
 | 
					db.DB().SetMaxOpenConns(<span class="hljs-number">100</span>)
 | 
				
			||||||
</code></pre>
 | 
					</code></pre>
 | 
				
			||||||
<h2 id="composite-primary-key">Composite Primary Key</h2>
 | 
					<h2 id="composite-primary-key">Composite Primary Key</h2>
 | 
				
			||||||
<p>Set multiple fields as priamry key to enable composite primary key</p>
 | 
					<p>Set multiple fields as primary key to enable composite primary key</p>
 | 
				
			||||||
<pre><code class="lang-go"><span class="hljs-keyword">type</span> Product <span class="hljs-keyword">struct</span> {
 | 
					<pre><code class="lang-go"><span class="hljs-keyword">type</span> Product <span class="hljs-keyword">struct</span> {
 | 
				
			||||||
    ID           <span class="hljs-keyword">string</span> <span class="hljs-string">`gorm:"primary_key"`</span>
 | 
					    ID           <span class="hljs-keyword">string</span> <span class="hljs-string">`gorm:"primary_key"`</span>
 | 
				
			||||||
    LanguageCode <span class="hljs-keyword">string</span> <span class="hljs-string">`gorm:"primary_key"`</span>
 | 
					    LanguageCode <span class="hljs-keyword">string</span> <span class="hljs-string">`gorm:"primary_key"`</span>
 | 
				
			||||||
 | 
				
			|||||||
@ -70,7 +70,7 @@
 | 
				
			|||||||
    data-chapter-title="Associations"
 | 
					    data-chapter-title="Associations"
 | 
				
			||||||
    data-filepath="associations.md"
 | 
					    data-filepath="associations.md"
 | 
				
			||||||
    data-basepath="."
 | 
					    data-basepath="."
 | 
				
			||||||
    data-revision="Wed May 04 2016 21:23:42 GMT+0800 (CST)"
 | 
					    data-revision="Tue Aug 16 2016 16:37:38 GMT+0800 (CST)"
 | 
				
			||||||
    data-innerlanguage="">
 | 
					    data-innerlanguage="">
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -747,7 +747,7 @@ db.Model(&user).Related(&emails)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
<span class="hljs-keyword">type</span> User <span class="hljs-keyword">struct</span> {
 | 
					<span class="hljs-keyword">type</span> User <span class="hljs-keyword">struct</span> {
 | 
				
			||||||
  gorm.Model
 | 
					  gorm.Model
 | 
				
			||||||
  Profile []Profiles <span class="hljs-string">`gorm:"ForeignKey:UserRefer"`</span>
 | 
					  Profiles []Profile <span class="hljs-string">`gorm:"ForeignKey:UserRefer"`</span>
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
</code></pre>
 | 
					</code></pre>
 | 
				
			||||||
<p><em>Specify Foreign Key & Association Key</em></p>
 | 
					<p><em>Specify Foreign Key & Association Key</em></p>
 | 
				
			||||||
@ -760,7 +760,7 @@ db.Model(&user).Related(&emails)
 | 
				
			|||||||
<span class="hljs-keyword">type</span> User <span class="hljs-keyword">struct</span> {
 | 
					<span class="hljs-keyword">type</span> User <span class="hljs-keyword">struct</span> {
 | 
				
			||||||
  gorm.Model
 | 
					  gorm.Model
 | 
				
			||||||
  Refer   <span class="hljs-keyword">string</span>
 | 
					  Refer   <span class="hljs-keyword">string</span>
 | 
				
			||||||
  Profile []Profiles <span class="hljs-string">`gorm:"ForeignKey:UserID;AssociationForeignKey:Refer"`</span>
 | 
					  Profiles []Profile <span class="hljs-string">`gorm:"ForeignKey:UserID;AssociationForeignKey:Refer"`</span>
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
</code></pre>
 | 
					</code></pre>
 | 
				
			||||||
<h2 id="many-to-many">Many To Many</h2>
 | 
					<h2 id="many-to-many">Many To Many</h2>
 | 
				
			||||||
 | 
				
			|||||||
@ -70,7 +70,7 @@
 | 
				
			|||||||
    data-chapter-title="Callbacks"
 | 
					    data-chapter-title="Callbacks"
 | 
				
			||||||
    data-filepath="callbacks.md"
 | 
					    data-filepath="callbacks.md"
 | 
				
			||||||
    data-basepath="."
 | 
					    data-basepath="."
 | 
				
			||||||
    data-revision="Wed May 04 2016 21:23:42 GMT+0800 (CST)"
 | 
					    data-revision="Tue Aug 16 2016 16:37:38 GMT+0800 (CST)"
 | 
				
			||||||
    data-innerlanguage="">
 | 
					    data-innerlanguage="">
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -68,7 +68,7 @@
 | 
				
			|||||||
    data-chapter-title="Change Log"
 | 
					    data-chapter-title="Change Log"
 | 
				
			||||||
    data-filepath="changelog.md"
 | 
					    data-filepath="changelog.md"
 | 
				
			||||||
    data-basepath="."
 | 
					    data-basepath="."
 | 
				
			||||||
    data-revision="Wed May 04 2016 21:23:42 GMT+0800 (CST)"
 | 
					    data-revision="Tue Aug 16 2016 16:37:38 GMT+0800 (CST)"
 | 
				
			||||||
    data-innerlanguage="">
 | 
					    data-innerlanguage="">
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -70,7 +70,7 @@
 | 
				
			|||||||
    data-chapter-title="CRUD: Reading and Writing Data"
 | 
					    data-chapter-title="CRUD: Reading and Writing Data"
 | 
				
			||||||
    data-filepath="curd.md"
 | 
					    data-filepath="curd.md"
 | 
				
			||||||
    data-basepath="."
 | 
					    data-basepath="."
 | 
				
			||||||
    data-revision="Wed May 04 2016 21:23:42 GMT+0800 (CST)"
 | 
					    data-revision="Tue Aug 16 2016 16:37:38 GMT+0800 (CST)"
 | 
				
			||||||
    data-innerlanguage="">
 | 
					    data-innerlanguage="">
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -70,7 +70,7 @@
 | 
				
			|||||||
    data-chapter-title="Database"
 | 
					    data-chapter-title="Database"
 | 
				
			||||||
    data-filepath="database.md"
 | 
					    data-filepath="database.md"
 | 
				
			||||||
    data-basepath="."
 | 
					    data-basepath="."
 | 
				
			||||||
    data-revision="Wed May 04 2016 21:23:42 GMT+0800 (CST)"
 | 
					    data-revision="Tue Aug 16 2016 16:37:38 GMT+0800 (CST)"
 | 
				
			||||||
    data-innerlanguage="">
 | 
					    data-innerlanguage="">
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -667,6 +667,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
<span class="hljs-keyword">func</span> main() {
 | 
					<span class="hljs-keyword">func</span> main() {
 | 
				
			||||||
  db, err := gorm.Open(<span class="hljs-string">"mysql"</span>, <span class="hljs-string">"user:password@/dbname?charset=utf8&parseTime=True&loc=Local"</span>)
 | 
					  db, err := gorm.Open(<span class="hljs-string">"mysql"</span>, <span class="hljs-string">"user:password@/dbname?charset=utf8&parseTime=True&loc=Local"</span>)
 | 
				
			||||||
 | 
					  <span class="hljs-keyword">defer</span> db.Close()
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
</code></pre>
 | 
					</code></pre>
 | 
				
			||||||
<h4 id="postgresql">PostgreSQL</h4>
 | 
					<h4 id="postgresql">PostgreSQL</h4>
 | 
				
			||||||
@ -677,6 +678,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
<span class="hljs-keyword">func</span> main() {
 | 
					<span class="hljs-keyword">func</span> main() {
 | 
				
			||||||
  db, err := gorm.Open(<span class="hljs-string">"postgres"</span>, <span class="hljs-string">"host=myhost user=gorm dbname=gorm sslmode=disable password=mypassword"</span>)
 | 
					  db, err := gorm.Open(<span class="hljs-string">"postgres"</span>, <span class="hljs-string">"host=myhost user=gorm dbname=gorm sslmode=disable password=mypassword"</span>)
 | 
				
			||||||
 | 
					  <span class="hljs-keyword">defer</span> db.Close()
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
</code></pre>
 | 
					</code></pre>
 | 
				
			||||||
<h4 id="sqlite3">Sqlite3</h4>
 | 
					<h4 id="sqlite3">Sqlite3</h4>
 | 
				
			||||||
@ -687,6 +689,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
<span class="hljs-keyword">func</span> main() {
 | 
					<span class="hljs-keyword">func</span> main() {
 | 
				
			||||||
  db, err := gorm.Open(<span class="hljs-string">"sqlite3"</span>, <span class="hljs-string">"/tmp/gorm.db"</span>)
 | 
					  db, err := gorm.Open(<span class="hljs-string">"sqlite3"</span>, <span class="hljs-string">"/tmp/gorm.db"</span>)
 | 
				
			||||||
 | 
					  <span class="hljs-keyword">defer</span> db.Close()
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
</code></pre>
 | 
					</code></pre>
 | 
				
			||||||
<h4 id="write-dialect-for-unsupported-databases">Write Dialect for unsupported databases</h4>
 | 
					<h4 id="write-dialect-for-unsupported-databases">Write Dialect for unsupported databases</h4>
 | 
				
			||||||
 | 
				
			|||||||
@ -70,7 +70,7 @@
 | 
				
			|||||||
    data-chapter-title="Development"
 | 
					    data-chapter-title="Development"
 | 
				
			||||||
    data-filepath="development.md"
 | 
					    data-filepath="development.md"
 | 
				
			||||||
    data-basepath="."
 | 
					    data-basepath="."
 | 
				
			||||||
    data-revision="Wed May 04 2016 21:23:42 GMT+0800 (CST)"
 | 
					    data-revision="Tue Aug 16 2016 16:37:38 GMT+0800 (CST)"
 | 
				
			||||||
    data-innerlanguage="">
 | 
					    data-innerlanguage="">
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -68,7 +68,7 @@
 | 
				
			|||||||
    data-chapter-title="Getting Started with GORM"
 | 
					    data-chapter-title="Getting Started with GORM"
 | 
				
			||||||
    data-filepath="README.md"
 | 
					    data-filepath="README.md"
 | 
				
			||||||
    data-basepath="."
 | 
					    data-basepath="."
 | 
				
			||||||
    data-revision="Wed May 04 2016 21:23:42 GMT+0800 (CST)"
 | 
					    data-revision="Tue Aug 16 2016 16:37:38 GMT+0800 (CST)"
 | 
				
			||||||
    data-innerlanguage="">
 | 
					    data-innerlanguage="">
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -669,6 +669,7 @@
 | 
				
			|||||||
  <span class="hljs-keyword">if</span> err != <span class="hljs-literal">nil</span> {
 | 
					  <span class="hljs-keyword">if</span> err != <span class="hljs-literal">nil</span> {
 | 
				
			||||||
    <span class="hljs-built_in">panic</span>(<span class="hljs-string">"failed to connect database"</span>)
 | 
					    <span class="hljs-built_in">panic</span>(<span class="hljs-string">"failed to connect database"</span>)
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					  <span class="hljs-keyword">defer</span> db.Close()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <span class="hljs-comment">// Migrate the schema</span>
 | 
					  <span class="hljs-comment">// Migrate the schema</span>
 | 
				
			||||||
  db.AutoMigrate(&Product{})
 | 
					  db.AutoMigrate(&Product{})
 | 
				
			||||||
 | 
				
			|||||||
@ -70,7 +70,7 @@
 | 
				
			|||||||
    data-chapter-title="Models"
 | 
					    data-chapter-title="Models"
 | 
				
			||||||
    data-filepath="models.md"
 | 
					    data-filepath="models.md"
 | 
				
			||||||
    data-basepath="."
 | 
					    data-basepath="."
 | 
				
			||||||
    data-revision="Wed May 04 2016 21:23:42 GMT+0800 (CST)"
 | 
					    data-revision="Tue Aug 16 2016 16:37:38 GMT+0800 (CST)"
 | 
				
			||||||
    data-innerlanguage="">
 | 
					    data-innerlanguage="">
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user