Merge pull request #107 from rolandshoemaker/aware-initables
Move InitTables and have it check for table existence before creation
This commit is contained in:
		
						commit
						6c8f6a26a7
					
				|  | @ -72,8 +72,7 @@ func main() { | ||||||
| 		wfe := wfe.NewWebFrontEndImpl(auditlogger) | 		wfe := wfe.NewWebFrontEndImpl(auditlogger) | ||||||
| 		sa, err := sa.NewSQLStorageAuthority(auditlogger, c.SA.DBDriver, c.SA.DBName) | 		sa, err := sa.NewSQLStorageAuthority(auditlogger, c.SA.DBDriver, c.SA.DBName) | ||||||
| 		cmd.FailOnError(err, "Unable to create SA") | 		cmd.FailOnError(err, "Unable to create SA") | ||||||
| 		err = sa.InitTables() | 
 | ||||||
| 		cmd.FailOnError(err, "Unable to initialize SA") |  | ||||||
| 		ra := ra.NewRegistrationAuthorityImpl(auditlogger) | 		ra := ra.NewRegistrationAuthorityImpl(auditlogger) | ||||||
| 		va := va.NewValidationAuthorityImpl(auditlogger, c.CA.TestMode) | 		va := va.NewValidationAuthorityImpl(auditlogger, c.CA.TestMode) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -46,6 +46,12 @@ func NewSQLStorageAuthority(logger *blog.AuditLogger, driver string, name string | ||||||
| 		log:    logger, | 		log:    logger, | ||||||
| 		bucket: make(map[string]interface{}), | 		bucket: make(map[string]interface{}), | ||||||
| 	} | 	} | ||||||
|  | 
 | ||||||
|  | 	err = ssa.InitTables() | ||||||
|  | 	if err != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| 	return | 	return | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -56,28 +62,28 @@ func (ssa *SQLStorageAuthority) InitTables() (err error) { | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	// Create registrations table
 | 	// Create registrations table
 | ||||||
| 	_, err = tx.Exec("CREATE TABLE registrations (id TEXT, thumbprint TEXT, value TEXT);") | 	_, err = tx.Exec("CREATE TABLE IF NOT EXISTS registrations (id TEXT, thumbprint TEXT, value TEXT);") | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		tx.Rollback() | 		tx.Rollback() | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	// Create pending authorizations table
 | 	// Create pending authorizations table
 | ||||||
| 	_, err = tx.Exec("CREATE TABLE pending_authz (id TEXT, value BLOB);") | 	_, err = tx.Exec("CREATE TABLE IF NOT EXISTS pending_authz (id TEXT, value BLOB);") | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		tx.Rollback() | 		tx.Rollback() | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	// Create finalized authorizations table
 | 	// Create finalized authorizations table
 | ||||||
| 	_, err = tx.Exec("CREATE TABLE authz (sequence INTEGER, id TEXT, digest TEXT, value BLOB);") | 	_, err = tx.Exec("CREATE TABLE IF NOT EXISTS authz (sequence INTEGER, id TEXT, digest TEXT, value BLOB);") | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		tx.Rollback() | 		tx.Rollback() | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	// Create certificates table
 | 	// Create certificates table
 | ||||||
| 	_, err = tx.Exec("CREATE TABLE certificates (serial string, digest TEXT, value BLOB);") | 	_, err = tx.Exec("CREATE TABLE IF NOT EXISTS certificates (serial STRING, digest TEXT, value BLOB);") | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		tx.Rollback() | 		tx.Rollback() | ||||||
| 		return | 		return | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue