2016-12-03 25 views
1

每次烤oracle表有下面的問題。有沒有人得到任何解決方案。與oracle表有關的CakePHP 3有問題

Exception: Columns used in constraints must be added to the Table schema first. The column "region_id" was not found in table "COUNTRIES". in [C:\xampp\htdocs\production\vendor\cakephp\cakephp\src\Database\Schema\Table.php, line 606] 
 
2016-12-03 06:47:03 Error: [Cake\Database\Exception] Columns used in constraints must be added to the Table schema first. The column "region_id" was not found in table "COUNTRIES". 
 
Stack Trace: 
 
#0 C:\xampp\htdocs\production\vendor\cakedc\cakephp-oracle-driver\src\Database\Schema\OracleSchema.php(623): Cake\Database\Schema\Table->addConstraint('COUNTR_REG_FK', Array) 
 
#1 C:\xampp\htdocs\production\vendor\cakephp\cakephp\src\Database\Schema\Collection.php(134): CakeDC\OracleDriver\Database\Schema\OracleSchema->convertForeignKeyDescription(Object(Cake\Database\Schema\Table), Array) 
 
#2 C:\xampp\htdocs\production\vendor\cakephp\cakephp\src\Database\Schema\Collection.php(103): Cake\Database\Schema\Collection->_reflect('ForeignKey', 'COUNTRIES', Array, Object(Cake\Database\Schema\Table)) 
 
#3 C:\xampp\htdocs\production\vendor\cakephp\cakephp\src\Database\Schema\CachedCollection.php(63): Cake\Database\Schema\Collection->describe('COUNTRIES', Array) 
 
#4 C:\xampp\htdocs\production\vendor\cakephp\cakephp\src\ORM\Table.php(440): Cake\Database\Schema\CachedCollection->describe('COUNTRIES') 
 
#5 C:\xampp\htdocs\production\vendor\cakephp\bake\src\Shell\Task\ModelTask.php(345): Cake\ORM\Table->schema() 
 
#6 C:\xampp\htdocs\production\vendor\cakephp\bake\src\Shell\Task\ModelTask.php(221): Bake\Shell\Task\ModelTask->findHasMany(Object(Cake\ORM\Table), Array) 
 
#7 C:\xampp\htdocs\production\vendor\cakephp\bake\src\Shell\Task\ModelTask.php(127): Bake\Shell\Task\ModelTask->getAssociations(Object(Cake\ORM\Table)) 
 
#8 C:\xampp\htdocs\production\vendor\cakephp\bake\src\Shell\Task\ModelTask.php(110): Bake\Shell\Task\ModelTask->getTableContext(Object(Cake\ORM\Table), 'users', 'Users') 
 
#9 C:\xampp\htdocs\production\vendor\cakephp\bake\src\Shell\Task\ModelTask.php(97): Bake\Shell\Task\ModelTask->bake('Users') 
 
#10 [internal function]: Bake\Shell\Task\ModelTask->main('users') 
 
#11 C:\xampp\htdocs\production\vendor\cakephp\cakephp\src\Console\Shell.php(466): call_user_func_array(Array, Array) 
 
#12 C:\xampp\htdocs\production\vendor\cakephp\cakephp\src\Console\Shell.php(459): Cake\Console\Shell->runCommand(Array, false, Array) 
 
#13 C:\xampp\htdocs\production\vendor\cakephp\cakephp\src\Console\ShellDispatcher.php(227): Cake\Console\Shell->runCommand(Array, true, Array) 
 
#14 C:\xampp\htdocs\production\vendor\cakephp\cakephp\src\Console\ShellDispatcher.php(182): Cake\Console\ShellDispatcher->_dispatch(Array) 
 
#15 C:\xampp\htdocs\production\vendor\cakephp\cakephp\src\Console\ShellDispatcher.php(128): Cake\Console\ShellDispatcher->dispatch(Array) 
 
#16 C:\xampp\htdocs\production\bin\cake.php(34): Cake\Console\ShellDispatcher::run(Array) 
 
#17 {main}

+0

這裏有region_id在國家表中,但是當我試圖腳手架(蛋糕烘烤)它,這個問題出現 –

+0

請添加相關表格的模式,以便有人可以複製你所看到的。 – AD7six

回答

0

問題已經解決了剛需修復「序列」的命名約定,導致CakePHP的支持方式。下面的示例,

如果您有一個表名「users」,您的sequnce名稱將爲「seq_users」。