Здравствуйте
хочу отделить таблицы модулей в БД от "основных"
основными например считаю user и иные таблицы которые "системные", в кавычках потому что "условно" разделяю, например, таблицу пользователей и таблицу "клиенты"
использую модульную систему, создаю новый модуль все что имеет к нему отношение хочу внутри "модуля" делать, в т.ч. и таблицы именовать для собственного удобства, чтобы в базе разделять "логически" таблицы тоже
подскажите, пожалуйста, как сделать так чтобы
на пример модуля "Клиенты" (modules/customers/...)
делаю модель modules/customers/model/Customer, контроллер modules/customers/controllers/CustomerControllers, вьюшки Use /modules/customers/view/customer/... index.php/view.php/create.php и т.д.
хочу таблицу именовать customers_customer
а как потом работать с такой таблицей?.. не очень понимаю... до этого работал с таблицами без наименование модуля в название таблицы...
т.е. хочу название модуля использовать как префикс таблицы
потом по аналогии сделать таблицу customers_bank (банковские реквизиты, будет связующее поле customers_bank.customers_customer_id связанное с customer_customer.id), создам такой же контроллер\модель\вьюшки
что стоит учесть? с какими проблемами могу столкнуться? подскажите, пожалуйста, если у вас такой опыт был
я так понимаю префиксы распространяются на весь проект... и прописываются в подключении к БД... но это не то что в данном случае я имею ввиду
Таблицы сущностей модуля в БД по типу [название_модуля]_[сущность]
-
- Сообщения: 236
- Зарегистрирован: 2018.05.10, 08:26
-
- Сообщения: 910
- Зарегистрирован: 2019.08.13, 01:49
Re: Таблицы сущностей модуля в БД по типу [название_модуля]_[сущность]
Код: Выделить всё
class Customer extends \yii\db\ActiveRecord
{
/**
* {@inheritdoc}
*/
public static function tableName()
{
return 'customers_customer';
}
//........
}
-
- Сообщения: 236
- Зарегистрирован: 2018.05.10, 08:26
Re: Таблицы сущностей модуля в БД по типу [название_модуля]_[сущность]
по логике для удобства работы с ссылками мне нужно исправлять только в контроллере название контроллера, чтобы получались "юзер-френдли" адреса, например,
файл "/controllers/CustomersCustomerController.php" переименовать в "CustomerController.php "
и "class CustomersCustomerController extends Controller" переименовать в "class CustomerController extends Controller"
с "технической" точки зрения впринципе проблем это никакой не доставляет вообще... как я понимаю...
файл "/controllers/CustomersCustomerController.php" переименовать в "CustomerController.php "
и "class CustomersCustomerController extends Controller" переименовать в "class CustomerController extends Controller"
с "технической" точки зрения впринципе проблем это никакой не доставляет вообще... как я понимаю...
Последний раз редактировалось iamguruman 2019.11.11, 14:49, всего редактировалось 1 раз.
-
- Сообщения: 236
- Зарегистрирован: 2018.05.10, 08:26
Re: Таблицы сущностей модуля в БД по типу [название_модуля]_[сущность]
ок, спасибоyiiliveext писал(а): ↑2019.11.11, 14:47Код: Выделить всё
class Customer extends \yii\db\ActiveRecord { /** * {@inheritdoc} */ public static function tableName() { return 'customers_customer'; } //........ }
хорошее замечание
-
- Сообщения: 236
- Зарегистрирован: 2018.05.10, 08:26
Re: Таблицы сущностей модуля в БД по типу [название_модуля]_[сущность]
в итоге шаблон действий таков
1. гии сгенерить модуль customers
2. сделать таблицу customers_customer
3. сгенерить модель customers_customer (наверное удобнее сразу ее переименовать в customer - я так еще не делал)
4. сгенерить круд модели CustomersCustomer
5. исправить:
* моделиь с CustomersCustomer на Customer
* контроллер CustomersCustomerController на CustomerController
* переименовать папку для вью с customers-customer на customer
p.s. позже попробую (3) наверное удобнее сразу ее переименовать в customer... если ошибок не будет, то поидее шаг 5 должен отвалиться сам собой и (4) шаг будет генериться круд модели Customer
1. гии сгенерить модуль customers
2. сделать таблицу customers_customer
3. сгенерить модель customers_customer (наверное удобнее сразу ее переименовать в customer - я так еще не делал)
4. сгенерить круд модели CustomersCustomer
5. исправить:
* моделиь с CustomersCustomer на Customer
* контроллер CustomersCustomerController на CustomerController
* переименовать папку для вью с customers-customer на customer
p.s. позже попробую (3) наверное удобнее сразу ее переименовать в customer... если ошибок не будет, то поидее шаг 5 должен отвалиться сам собой и (4) шаг будет генериться круд модели Customer
-
- Сообщения: 236
- Зарегистрирован: 2018.05.10, 08:26
Re: Таблицы сущностей модуля в БД по типу [название_модуля]_[сущность]
Попробовал вариант 3 - сразу переименовал. Шаг 4 и 5 не потребовались. Удобно очень