我想在laravel的现有表中添加一列,但不使用迁移。有没有办法像这样加一栏?
gopyfrb31#
DB::statement() function ---work for me DB::connection('mysql')->statement('ALTER TABLE table_name ADD column_name int NULL DEFAULT(1)');For all tables: foreach ($alltable as $key => $table) { DB::connection('mysql')->statement('ALTER TABLE '.$table1.' ADD store_id int NULL DEFAULT(1)'); }
DB::statement() function ---work for me
DB::connection('mysql')->statement('ALTER TABLE table_name ADD column_name int NULL DEFAULT(1)');
For all tables:
foreach ($alltable as $key => $table)
{
DB::connection('mysql')->statement('ALTER TABLE '.$table1.' ADD store_id int
NULL DEFAULT(1)');
}
rslzwgfq2#
您可以使用db facade中的db::statement()函数,根据它们的数据库文档,如下所示:
DB::statement('ALTER TABLE table_name ADD column_name datatype');
不过,不建议这样做。出于某种原因,这种情况在迁移过程中发生,因此您不会执行多次,也不会动态地执行创建或删除列(不应该这样)。所以,使用风险自负。
2条答案
按热度按时间gopyfrb31#
rslzwgfq2#
您可以使用db facade中的db::statement()函数,根据它们的数据库文档,如下所示:
不过,不建议这样做。
出于某种原因,这种情况在迁移过程中发生,因此您不会执行多次,也不会动态地执行创建或删除列(不应该这样)。
所以,使用风险自负。