const { Sequelize, DataTypes } = require('sequelize');
// Подключение к базе данных
const sequelize = new Sequelize('database', 'username', 'password', {
host: 'localhost',
dialect: 'mysql',
});
// Определение модели UsersModel
const UsersModel = sequelize.define('User', {
email: {
type: DataTypes.STRING,
allowNull: false,
unique: true,
},
// Другие поля пользователя
});
// Определение модели RolesModel
const RolesModel = sequelize.define('Role', {
title_role: {
type: DataTypes.STRING,
allowNull: false,
},
// Другие поля роли
});
// Определение отношения "один к одному"
UsersModel.hasOne(RolesModel);
RolesModel.belongsTo(UsersModel);
// Пример создания записи пользователя с ролью
sequelize.sync()
.then(async () => {
const user = await UsersModel.create({
email: 'example@example.com',
// Другие поля пользователя
});
const role = await RolesModel.create({
title_role: 'Admin',
// Другие поля роли
});
// Связываем пользователя с ролью
await user.setRole(role);
// Запрос на получение пользователя с ролью
const foundUser = await UsersModel.findOne({
where: { email: 'example@example.com' },
include: RolesModel, // указываем, что хотим включить связанную модель
});
if (!foundUser) {
console.error('Пользователь не найден');
} else {
console.log(foundUser.email + ' - ' + foundUser.Role.title_role);
}
})
.catch((error) => {
console.error('Ошибка при синхронизации с базой данных:', error);
});
if ($user_damage > $battle['health']) {
// Установка блокировки на таблицу `_basement_battle`
mysql_query('LOCK TABLES `_basement_battle` WRITE');
try {
mysql_query('SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE');
mysql_query('START TRANSACTION');
// Выполнение обновлений
mysql_query('UPDATE `basement_clans` SET `json_key` = JSON_SET(`json_key`, \'$."' . 'key_'.($battle['boss_id'] + 1) . '"\', JSON_EXTRACT(`json_key`, \'$."' . 'key_'.($battle['boss_id'] + 1) . '"\') + 1), `json_limit` = JSON_SET(`json_limit`, \'$."' . 'boss_'.$battle['boss_id'] . '"\', JSON_EXTRACT(`json_limit`, \'$."' . 'boss_'.$battle['boss_id'] . '"\') + 1), `json_medals` = JSON_SET(`json_medals`, \'$."' . 'boss_'.$battle['boss_id'] . '"\', JSON_EXTRACT(`json_medals`, \'$."' . 'boss_'.$battle['boss_id'] . '"\') + 1) WHERE `clan` = '.$clan['id'].' AND `jail` = '.$user['reset']);
mysql_query('DELETE FROM `_basement_battle` WHERE `id` = '.$battle['id']);
mysql_query('COMMIT');
} catch (Exception $e) {
mysql_query('ROLLBACK');
} finally {
// Снятие блокировки после выполнения транзакции
mysql_query('UNLOCK TABLES');
}
}
import pymysql
my_db = pymysql.connect(
host='localhost',
user='root',
password='',
db='имя_базы_данных' # замените 'имя_базы_данных' на реальное имя вашей базы данных
)
my_cursor = my_db.cursor()
my_cursor.execute('SHOW DATABASES')
for db in my_cursor:
print(db)