Comandos
Sequelize
Comando Sequelize
Configuração Inicial
Sequelize é uma biblioteca Javascript que facilita o gerenciamento do banco de dados SQL
npm install --save sequelize
Instalar o drive do banco de dados "no exemplo foi usado mysql2"
npm install --save mysql2
Sequelize-cli interface de linha de comando usada para criar modelos, configurações e arquivos de migração para bancos de dados
npm install --save-dev sequelize-cli
Iniciar o Sequelize-cli e criar o arquivo config
npx sequelize-cli init
Manipular variáveis de ambiente
npm install dotenv --save
.sequelizerc
Arquivo de configuração `.sequelizerc` ao criar models, migrations, ou seeders, elas serão salvas em seus devidos repositórios
Criando e Alterando Tabelas
Criar a migration da página home do conteúdo do nomeTabela
npx sequelize-cli migration:generate --name create-nomeTabela
Modelo Migration:
'use strict';
/** @type {import('sequelize-cli').Migration} */
// Exportar o obejeto como modulo
module.exports = {
// Criando a tabela 'Clientes'
async up(queryInterface, Sequelize) {
await queryInterface.createTable('Clientes', {
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: Sequelize.INTEGER
},
nome: {
type: Sequelize.STRING
},
email: {
type: Sequelize.STRING
},
contato: {
type: Sequelize.STRING
},
createdAt: {
allowNull: false,
type: Sequelize.DATE
},
updatedAt: {
allowNull: false,
type: Sequelize.DATE
}
});
},
// Executar down - rollback - Permite que seja desfeita a migration, permitindo a gestão das alterações do banco de dados e versionamento.
async down(queryInterface, Sequelize) {
await queryInterface.dropTable('Clientes');
}
};
Criar a migration acrescentar a coluna nomeColuna
npx sequelize-cli migration:generate --name alter-nomeTabela-add-nomeColuna
Modelo Alteração Migration:
'use strict';
/** @type {import('sequelize-cli').Migration} */
module.exports = {
async up (queryInterface, Sequelize) {
await queryInterface.addColumn('Clientes', 'sobrenome', {
type: Sequelize. DataTypes.STRING, after: "nome"
});
},
async down (queryInterface, Sequelize) {
await queryInterface.removeColumn('Clientes'), ('sobrenome');
}
};
Interagindo como o Banco de Dados
Executar as migrations
npx sequelize-cli db:migrate
Executar down - rollback - Permite que seja desfeita a migration, permitindo a gestão das alterações do banco de dados e versionamento.
npx sequelize-cli db:migrate:undo --name nome-da-migration.js
Criando Models
Criar a Models da página do seu conteúdo
npx sequelize-cli model:generate --name nomeModels --attributes primeiroConteudo:string,segundoConteudo:string,terceiroConteudo:text,quartoConteudo:integer, quintoConteudo:float
Modelo de Models
'use strict';
// Incluir as bibliotecas
// Criar a constante para receber a MODEL do Sequelize para usar como herança na classe
const { Model } = require('sequelize');
// Exportar a função como modulo
module.exports = (sequelize, DataTypes) => {
// Criar a classe com o nome da tabela herdando a 'Model' importada acima
class Clientes extends Model {
/**
* Helper method for defining associations.
* This method is not a part of Sequelize lifecycle.
* The `models/index` file will call this method automatically.
*/
static associate(models) {
// define association here
}
}
// Criala as colunas que a `Models` pode manipular
Clientes.init({
nome: DataTypes.STRING,
email: DataTypes.STRING,
sobrenome: DataTypes.STRING,
contato: DataTypes.STRING
}, {
sequelize,
modelName: 'Clientes',
});
// Retornar a classe `Clientes`
return Clientes;
};
Seeders
Adicionando Dados Inicais para Tabelas
Criar seeders
npx sequelize-cli seed:generate --name demo-nomeSeed
Modelo Seed:
'use strict';
/** @type {import('sequelize-cli').Migration} */
// Exportar o objeto como modulo
module.exports = {
 :// Cadastrar o registro na tabela "Clientes"
 :async up (queryInterface) {
return queryInterface.bulkInsert ('Clientes', [
{
nome: 'Web App',
sobrenome: "Agendamento",
email: 'alunos@orange.com',
contato: '7198542-4286',
createdAt: new Date(),
updatedAt: new Date(),
},
{
nome: 'Atendimento',
sobrenome: "WebApp",
email: 'orange@discord.com',
contato: '7197823-4876',
createdAt: new Date(),
updatedAt: new Date(),
},
])
 :},
 :// Limpar os registros da tebela 'Clientes'
 :async down (queryInterface) {
await queryInterface.bulkDelete ('Clientes', null, {});
 :}
};
Executar as seeders
npx sequelize-cli db:seed:all
Executar uma seed
npx sequelize-cli db:seed --seed nomeSeed.js
Executar down - rollback - Permite que seja desfeita todas as seed, permitindo a gestão das alterações do banco de dados e versionamento.
npx sequelize-cli db:seed:undo
Executar down - rollback - Permite que seja desfeita uma única seed, permitindo a gestão das alterações do banco de dados e versionamento.
npx sequelize-cli db:seed:undo --seed nomeSeed.js
Git Flow
Comandos Git Flow
Comandos que foram apresentados na vídeo aula
Link para o vídeo no final do conteúdo
Iniciando controle para projeto em equipe
git flow init
Criando nome_feature
git flow feature start nome_feature
Subindo feature para origin
git push origin feature/nome_feature
Finalizando feature
git flow feature finish nome_feature
Iniciando release
git flow release start 1.0
Finalizando release
git flow release finish 1.0
Verificando versões
git tag
Pequenas aletrações na versãoa atual
git flow hotfix start 1.1
Aleterações finalizadas
git flow hotfix finish 1.1
Fazendo push em todas as branchs
git push --all
Linux
Comandos Linux
ADICIONAR NOVO USUÁRIO
Após criar o novo usuário ja aparecerá a opção para criação da senha
adduser nome-usuario
ADICIONAR USUÁRIO AO GRUPO SUDO
$ echo "usuario ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/usuario
Fonte: [Digital Ocean](https://www.digitalocean.com/community/cdtutorials/initial-server-setup-with-debian-9)
CONTEÚDO AULA-2
(clear) -> Limpa a tela
(~) <- Símbolo Diretório padrão do root
(#) <- Símbolo Logado como root usuario adim
($) <- Símbolo Logado como usuário
DESLIGAR E REINICIAR
Debian 11
sudo systemctl poweroff
sudo systemctl reboot
Demais distros
(reboot) - Reinicia o linux
(halt) - Desliga
(shutdown -h now) - Também desliga o linux
(shutdown -h 1) - Desliga o computador em um minuto
(Ctrl +c) - Cancela a operação
DIVERSOS
(pwd) - mostra o diretorio q esta
(cd /) - Se povimenta para raiz
(cd + enter) - Leva ao diretório padrão d usuário +
(clear) - Limpa tela
(ls) - Lista os principais diretórios do linux
(cd home + enter) -Vai para a pasta do home
(cd ..) - Volta um diretório
(date) - Exibe data e hora
(cal) - Calendario
(date;cal) - Exibe dois comandos com o ponte e virgula
(man + comando) - Descrição do comando especificado
(whatis) - Descrição específica
(history) - Historico dos comandos usados
(clear) - Limpa a tela
(touch) - Cria arquivo
CRIAR E APAGAR DIRETÓRIO
(mkdir -c) - Cria diretórios ex: mkdir documentos
(rm -r) - Apaga diretorios ex: rm -r documentos
(rm -rf) - Apaga tdo sem perguntar
EDITOR DE TEXTO(vi)
É o editor que cai na "certificação LPI"
(vi + nome do arquivo) - Cria ou edita arquivo
(i) - Para escrever em cima do cursor
(a) - Para escrever a partir do cursor
(Esc:wq) - Salvar e sair
(Esc u) - Desfaz o q estava fazendo
(Esc:q!) - Sai do arquivo sem salvar
(set number) - Numera as linhas
EDIÇÃO
(cat) - Mostra o conbteúdo do arquivo
(tac + Nome do arquivo) - Mostra o conteudo de trás pra frente
(mv + Nome do arquivo) - Mover ou renomear o arquivo ex: mv Serviços serviços
(cp) - Faz backup, ex: cp serviços serviços.bkp
PESQUISA
(ls carta) - Mostra q tem carta
(ls -l carta) - Mostra detalhes
DIRETORIOS SÃO PASTAS; ARQUIVOS SÃO DOCUMENTOS:
(ls -l) - Mostra o q eh arquivo e diretorio:
(ls -lh) - Mostra Permissões Links Proprietários Grupo Tamanho Data e Hora Nome
começa com (-) - É arquivo
começa com (d) - É diretorio
começa com (l) - É link
(cat + nome do arquivo) - Visualiza o conteudo do arquivo
TECLAS DE ATALHO
(Pra cima) - Repete o último comando
(Pra baixo) - Idem
(tab) - Completa comando
(cd ho+tab) - Completa o comando
(history) - Exibe os mil últimos comando digitados
LISTAR UPGRADE
apt list --upgradable
LOCALIZAR PROGRAMAS
dpkg -l | grep apache2
dpkg -l | grep openjdk-8-jre
Fonte: [Professor José de Assis](https://youtu.be/agpNQ0Tv7ZU)
COMPACTAR ARQUIVOS
tar -czvf arquivo.tar.gz arquivo/
ou
tar cf arquivo.tar arquivo
DESCOMPACTAR ARQUIVOS
tar -xzvf arquivo.tar.gz
ou
tar xf arquivo.tar arquivo
COMANDO KILL
Comando para parar um processo
INTERROMPENDO O PROGRAMA
kill <numero_PID>
VERRIFICAR PROGRAMAS QUE ESTÃO SENDO EXECUTADOS
top
MOSTRAR PROGRAMAS EM EXECUÇÃO
ps aux
ESPECIFICANDO
ps -ef | grep <nome>
**Fonte: Meus arquivos**
COMANDO PARA VERIFICAR A VERSÃO DO SISTEMA:
cat /etc/*-release
**OU ENTÃO**:
cat /etc/*-release | grep PRETTY
lsb_release -a
uname -r (verifica versão do Kernel)
uname -a
uname -mrs
uname --help
cat /proc/version
COMANDO PARA VERIFICAR INTEGRIDADE
$ls <nomoe_programa>
#Sha256sum <nome_programa> | grep <numero_sha256sum>
DEFINIR EDITOR PADRÃO
sudo update-alternatives --config editor
CONFIGURAR TECLADO
dpkg-reconfigure keyboard-configuration
ALTERAR O GRUPO DE UM ARQUIVO OU DIRETÓRIO - chgrp (change group)
chgrp [novo_grupo] [nome_arquivo]
ALTERAR O PROPRIETÁRIO DE UM ARQUIVO OU DIRETÓRIO - chown (change owner)
chown [novo_proprietário] [novo_arquivo]
ADICIONAR UM NOVO GRUPO - addgroup
addgroup [nome_grupo]
COMANDO CHMOD
PERMISSÃO PARA EXECUTAR SCRIPT .SH
chmod +x <nome_arquivo>
COMANDO chmod - ALTERA PERMISSÃO PELO TERMINAL
chmod +x
COMANDO chmod - ALTERA AS PERMISSÕES DE ACESSO A ARQUIVOS E DIRETÓRIOS
**Modo de permissões octal**
chmod [permissões] [arquivos ou diretórios]
> 2. Escrita - 2
> 3. Leitura - 4
1 = ligado / 0 = desligado
rwx|---|
001 = 1|
--x|
---|
001 = 1|
-w-|
---|
010 = 2|
r--|
---|
100 = 4|
rw-|
---|
110 = 4 + 2 = 6|
rwx|
---|
111 = 4 + 2 + 1 = 7|
PROPRIETÁRIO | GRUPO | OUTROS
rwx|rw-|rw----|---|---
111|110|110
7|6|6
766
> 1. Proprietário > lê,escreve,executa;> 2. Grupo > lê, escreve;
> 3. Outros > lê, escreve
rw-|r--|x--
---|---|---
6|4|0
6 4 0
> 1. Proprietário > lê, escreve;> 2. Grupo > lê;
> 3. Outros > lê
PERMISSÕES
Proprietario|Grupo|Outros
---|---|---rwx|r-x|r-x
SIGNIFICADOS
r = Read (Leitura)
w = Write (Escrita)
x = Execution (Execução)
- = Sem Permissão
PESQUISA COMPLETA DE PERMISSÕES
ls -lh
---|---|---|---|---|---|---
drwxr-xr-x|2|user|user|4096|13/9/2017|nome
COMANDO PARA CRIAR ARQUIVO VAZIO - touch
CRIANDO ARQUIVO TESTE
sudo touch arquivoteste
MOSTRAR ARQUIVO CRIADO
ls arquivoteste
MOSTRAR DETALHES DO ARQUIVO CRIADO
ls -l arquivoteste
Explicando
-rwx-w-r-- (arquivo, Proprietário lê, escreve, executa; Grupo escreve; Outros lê)
ALETRANDO PERMISSÕES
> 1. Proprietário, fazer tudo> 2. Grupo, só ler
> 3. Outros, escrever
touch - c
sudo chmod 724 arquivoteste
sudo ls -l arquivoteste
-rwxr---w-
PERMISSÃO GERAL PARA TODOS
sudo chmod 777 arquivoteste
sudo ls -l arquivoteste
-rwxrwxrwx
LAMP
Normalmente, o diretório /var/www, mas também pode ser /var/www/html por exemplo. Por padrão, este diretório só pode ser escrito pelo root e para ficar mais prático, e poder acessar com o nosso usuário.
MUDANDO O DIRETÓRIO
$ sudo chown -c -R seu_usuario /var/www/
REINICIANDO O APACHE
$ sudo /etc/init.d/apache2 restart
COMANDO CHOWN
CHOWN DONO[:GRUPO] ARQUIVO
Descrição
Este comando permite alterar o nome do dono e/ou do grupo de arquivos.
Algumas opções do comando
-c : informa quais arquivos estão sendo alterados.
-h : altera o link, não o arquivo apontado pelo link.
-v : informa quais arquivos estão sendo processados (não necessariamente alterados).
-R : altera, recursivamente, dono e/ou grupo de arquivos.
−−help : exibe opções do comando.
−−version : exibe informações sobre o aplicativo.
Exemplos
Suponha, por exemplo, a existência de um diretório de nome teste. Queremos que este diretório e todo o seu conteúdo passe a pertencer ao usuário aluno e ao grupo informatica. Podemos, então, digitar o comando
chown -Rc aluno:informatica teste
para alterar o dono e o grupo do diretório teste e de todos os arquivos e diretórios que estão hierarquicamente abaixo do diretório teste. Como o argumento -c é usado, será mostrada apenas a lista dos arquivos e diretórios alterados.
Para alterar apenas o dono dos arquivos, digite
chown -Rc aluno teste
Se o objetivo é alterar apenas o grupo dos arquivos, basta digitar
chown -Rc :informatica teste
**Observações**
O comando **chgrp** altera o grupo de arquivos.
O comando **chmod** altera as permissões de arquivos.